Burnout time estimation and early thrust termination determination for a boosting target

ABSTRACT

A system senses the presence of a boosting missile or target and processes the information by comparison of the data with a plurality of predetermined templates of nominal missile characteristics, in order to determine the state of the missile. The processing includes estimation of burnout time and of early thrust termination. Both are determined by generating current stage state estimates including position, velocity, time index error into the thrust template, and motor scale factor error. The change in motor scale factor is compared with a threshold to determine if early thrust termination has occurred. The estimated burnout time of the current stage is calculated from the burnout times of the current and the previous stage processed with the estimated motor scale factor and with state estimates from a filter.

This application claims the benefit of the priority of U.S. patent application Ser. No. 11/189,234, filed Jul. 26, 2005 in the name of the inventors herein.

FIELD OF THE INVENTION

This invention relates to the sensing of information relating to a boosting missile target, estimation of the future time at which a boosting missile staging event, such as burnout, is expected to occur, and use of such information to improve the guidance of antimissile defenses.

BACKGROUND OF THE INVENTION

Ballistic missile defense has become a significant priority as national intelligence indicates a growing missile threat from rogue nations that might obtain weapons of mass destruction and use ballistic missiles to fire them at U.S. forces abroad, U.S. allies or the continental United States. A desirable engagement strategy against ballistic missiles is to intercept the target as early as possible during the boost phase or early ascent phase when the target is a large object and has not dispersed counter measures or multiple warheads. Such a strategy minimizes the requirements for warhead and decoy discrimination, and allows for multi-layered defense control system cannot obtain valid intercept solutions for launching the interceptor during boost, and intercepting during the early ascent phase. The problem of identifying, determining or estimating the state, and providing guidance of a kill vehicle toward a hostile missile is described generally in U.S. patent application Ser. Nos. 11/356,675 filed Feb. 16, 2006 in the name of Denis et al., 11/430,535 filed May 9, 2006 in the name of Pedersen et al., 11/430,644 filed May 9, 2006 in the name of Pedersen, and 11/430,647 filed May 9, 2006 in the name of Pedersen et al.

Challenges in developing a boost phase tracking algorithm include unpredictable target accelerations while the target is in powered flight, and uncertainty of its burn time. Targets powered by solid rocket motors present the additional challenge of irregular thrust acceleration profiles. Due to the significant changes in acceleration during the target's boost phase, filters that assume constant acceleration cannot meet the stringent accuracies required of most fire control systems. Current state-of-the-art template-based filters use position and velocity templates assuming constant accelerations or rocket equation acceleration modeling. Such templates are subject to error attributable to motor burn variations, energy management (lofted/depressed trajectories), ISP variations, and early thrust terminations. FIG. 1 is a plot of target thrust versus time for “hot,” nominal and “cold” rocket motors or engines. The nominal thrust profile as a function of time after launch (TAL) is shown by plot 12. The actual motor may be a variation about this nominal profile. For a hot motor, the motor gain is greater than 1, K>1, with the thrust profile shown by plot 14. For a cold motor, the motor gain is less than 1, K<1, with the thrust profile shown by plot 16. It will be clear that the accelerations represented by the thrust profiles of FIG. 1 are significantly different.

In addition, uncertain knowledge of the time of launch of the target results in error in estimating the time after launch. The uncertainty in knowledge of the time after launch leads to error in indexing into the template, which in turn tends to introduce more error in the acceleration estimate. For example, if the estimate of time after launch in FIG. 1 is indicated by t_(estimate) and estimate the actual time is indicated by t_(actual), there will be a substantial error in estimating the acceleration even if the proper plot were known. The indexing error and acceleration variations from the nominal template all contribute to erroneous acceleration estimates and ultimately poor estimates of the target velocity and position. The indexing error, delT, is the uncertainty in the target's time after launch (TAL), i.e., the time difference between the initial index into the nominal template and the target's true TAL. All of these errors, when used for guidance of antimissile assets, can contribute to missing of the target by the antimissile asset. This, in turn, reduces the time that is available to a second antimissile asset to intercept the target, and is costly in that a second antimissile asset must be used.

Improved or alternative estimation of the future time of staging events such as burnout, and early identification after-the-fact of early thrust termination is also desired.

SUMMARY OF THE INVENTION

A method according to an aspect of the invention is for estimating staging of a boosting target, as for example of a missile. The method comprises the steps of sensing position of the boosting target, as for example from moment to moment, to thereby generate target position information, and generating current stage state estimates including position, velocity, time index error into the thrust template, and motor scale factor error K. The method further comprises the step of determining estimated burnout time t_(BOEst) of the current stage by use of the equation

$t_{BOEst} = {\frac{\left( {{stageTimeCurrent} - {stageTimePast}} \right)}{\hat{K}} + {stageTimePastEst} - {offsetError} + \frac{{de}\hat{l}T}{\hat{K}}}$

where

stageTimeCurrent=nominal current stage burn out time;

stageTimePast=nominal past stage burn out time;

stageTimePastEst=estimated value of the previous stage burn out time;

K and De{circumflex over (l)}T=state estimates from the filter;

offsetError=initial difference between template_index and measured time;

The estimated burnout time is used to aid in predicting the future location of the target.

According to another aspect of the invention, a method for determining early thrust termination of a boosting target comprises the step of sensing position of the boosting target, as for example from moment to moment, to thereby generate target position information. Current stage state estimates including position, velocity, time index error into the thrust template, and motor scale factor error k are generated. The motor scale factor is used to indicate if the target has early thrust terminated.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 illustrates variations in target thrust acceleration profiles due to motor variations;

FIG. 2 illustrates typical thrust acceleration profiles for solid- and liquid-fuel motors;

FIG. 3 is a tabular representation of nominal target templates listing nominal values of boost acceleration, speed, altitude, and angle of attack as a function of time after launch, for a particular known type of target;

FIG. 4 is a simplified functional block diagram of a template updated boost state estimating arrangement;

FIG. 5 is a simplified logic flow chart or diagram illustrating computer processing which implements the template updated boost algorithm;

FIG. 6 is a simplified logic flow chart or diagram illustrating an initialization portion of the logic of FIG. 5;

FIG. 7 illustrates a nominal thrust acceleration template versus time after launch, to aid in defining certain parameters; and

FIG. 8 is a simplified logic flow chart or diagram illustrating details of the logic according to an aspect of the invention.

The Template Updated Boost Algorithm (TUBA) is a boost phase filter or processing that estimates variations with respect to nominal templates representing the target's kinematic motion. FIG. 2 is an example of a typical nominal template file of thrust acceleration versus time in seconds (s). In FIG. 2, the thrust acceleration profile of a solid-fuel motor is illustrated by a solid line designated 210, and the profile for a liquid-fuel motor is illustrated by a dash line designated 212. TUBA is capable of estimating rocket motor burn variations, template indexing error (the time difference between the actual and the estimated Time After Launch), and target's angle of attack. Using nominal templates corrected by these unique filter states, TUBA predicts future thrust acceleration, position, and velocity vectors with improved reliability. This can be crucial for fire control systems, where knowing the target's future position and velocity is needed to accurately predict an intercept point.

Another boost phase filter is described in U.S. patent application Ser. No. 10/972,943 filed on Oct. 25, 2004 in the name of Boka et al. and entitled Computerized Method for Generating Low-Bias Estimates of Position of a Vehicle From Sensor Data. This boost filter is the Unified Unbiased Rocket Equation Extended Kalman Algorithm (UUREEKA). It differs from TUBA in that UUREEKA models target dynamics using the fundamental rocket equation and is ideal for tracking liquid-fueled targets whose acceleration profiles can be modeled using the rocket equation. UUREEKA is less advantageous for solid fuel rocket motors that exhibit irregular thrust profiles. TUBA is well adapted for tracking solid-fuel targets that have irregular thrust acceleration profiles, which cannot be modeled by the rocket equation. As mentioned, FIG. 2 shows a representative thrust acceleration profile 210 for a solid rocket motor, and a liquid rocket motor profile 212. Since TUBA is template based, it can also be used to track liquid-fuel targets governed by the rocket equation. TUBA complements UUREEKA by providing capability against solid rocket fuel based target threats. Thus, the combination of UUREEKA and TUBA filtering may provide more complete capability against all ballistic missile threats.

TUBA uses a template filter which utilizes a table of nominal target data which relates target time after launch (TAL) to boost acceleration, speed, altitude, and angle of attack. An example of a nominal target template data table 300 appears as FIG. 3. In FIG. 3, various Time After Launch (TAL) values designated T₁, T₂, T₃, T₄, T₅, T₆, T₇, T₈, T₉, T₁₀, and T₁₁ correlate to Boost Acceleration values AB₁, AB₂, AB₃, AB₄, AB₅, AB₆, AB₇, AB₈, AB₉, AB₁₀, and AB₁₁, respectively, to Speed values V₁, V₂, V₃, V₄, V₅, V₆, V₇, V₈, V₉, V₁₀, and V₁₁, respectively, to Altitude values Alt₁, Alt₂, Alt₃, Alt₄, Alt₅, Alt₆, Alt₇, Alt₈, Alt₉, Alt₁₀, and Alt₁₁, respectively, and to Angle of Attack values AOA₁, AOA₂, AOA₃, AOA₄, AOA₅, AOA₆, AOA₇, AOA₈, AOA₉, AOA₁₀, and AOA₁₁, respectively. Of course, a template may include many more values than the illustrated 11 values, or possibly fewer.

FIG. 4 shows how the nominal target template is used in the TUBA process. In FIG. 4, the current radar target measurement is applied by way of a path 410. Ordinarily, the template initialization is performed using the altitude template. Systems such as Spaced Based Infrared Sensor (SBIRS) also provide velocity information which could be used for template initialization using the speed template.

The entry point into the target template 300 of FIG. 4 is found using the current measurement altitude, Alt_(o), calculated from current target measurement data derived from a sensor such as a radar system. A lookup algorithm is used to select the time index, I_(o), in the table corresponding to Alt_(o). I_(o) refers to the template time index T_(I) indicated by a subscript in the TAL column of FIG. 3. Thus, if the calculated (or otherwise determined) altitude is, say, one thousand feet, the corresponding altitude in the table might be T₄, and the corresponding index is I₄. I_(o) is then used as the initial time entry into the acceleration and angle of attack templates to obtain the target's nominal boost acceleration, and angle of attack. In the example, the index I₄ would point to acceleration AB₄ and angle of attack AOA₄. TUBA processing as represented by block 412 in FIG. 4 uses the Boost acceleration AB(K, I_(m)) and Angle of Attack AOA(I_(m)) from the template 300 to produce accurate estimates of the target's position P(t_(m)) and velocity states V(t_(m)). In addition, block 412 estimates the error delA(t_(m)) in angle of attack, error delT in the time index into the template, and a scalar (hot/cold) motor variation factor, K. In conjunction with the typical position and velocity states, additional states delT and K are used to adjust the initial time index I_(o) to account for initial time index error (possibly attributable to incorrect initial estimate of altitude) and template difference due to motor variations.

The TUBA algorithm associated with block 412 of FIG. 4 is represented by a logic flow chart or diagram 500 of FIG. 5. In the logic flow of FIG. 5, a measurement is received at time t_(m) as suggested by logic path 510. The algorithm begins with initialization of filter and timing parameters in blocks 512 and 514. Initial estimates of the filter states and state covariances are then propagated forward in time corresponding to the Kalman “time update” step 516. Staging timing parameters are updated in block 524, after the state propagation, and staging events and early thrust termination are determined in block 542. Finally, the Kalman Gains are computed, and the measurement updated state covariances are updated corresponding to the Kalman filter “measurement update” step 526. The process repeats with the measurement updated state estimates and error covariance feeding back to the time update equations.

More specifically, the TUBA process of FIG. 5 begins with arrival over a path 510 of an initial position measurement from a sensor, such as a radar system, tracking a boosting target. Decision block 512 initially routes the measurement to the TUBA Initialization function or block 514. The TUBA Initialization function 514 initializes the filter and template parameters. FIG. 6 represents the logic 600 of the TUBA Initialization step 514 of FIG. 5. In FIG. 6, the first step in initialization of the filter and template parameters is to calculate target altitude Alt_(o) from the current measured position input, as suggested by block 610 of FIG. 6. From block 610, the logic of the initialization 600 flows to a block 612, which represents use of the table lookup to determine target Time After Launch (TAL) template_index, for the given Alt. Block 614 represents use of the template_index produced by block 612 together with nominal staging times. Nominal staging times are not derived from part of the templates which are a function of time; rather they are a few data points corresponding to nominal times when the target begins the next stage. For example, if the target has three stages, there will be three corresponding nominal staging times. Nominal staging times are used to determine the target's current stage number thisStage. The amount of elapsed time in the current stage tInstage is determined in a block 616 by

tInstage=template_index−stageTimePast  (1)

where stageTimePast is the nominal stage time of the previous stage, as illustrated in FIG. 7. In FIG. 7, the current time into the template is template_index. Block 618 of FIG. 6 represents the initialization of Kalman filter states and error covariances to produce equations (2), (3), (4), (5), and (6)

X=X_(M)  (2)

is the initial position vector (set to measured value);

{dot over (X)}={dot over (X)}_(M)  (3)

is the initial velocity vector (set to an initial estimate);

K=1  (4)

is the motor parameter (set to nominal value);

delT=0  (5)

is the initial estimate of error in template_index; and

delA=0  (6)

is the initial estimate of error in angle of attack.

The TUBA Initialization function 514, represented as 600 of FIG. 6, includes a block 620 which represents the definition of the timing parameter-template_index used to look up values from the nominal template

Template_index=(tInstage−delT)*K+stageTimePast  (7)

From block 620, the logic of FIG. 6 flows to a block 622, which represents the definition of the time offset between the system time and template_index

offsetError=template_index−tgtMeasTime  (8)

where variable “tgtMeasTime” is the current system time, variously designated t or tm in FIG. 5.

TUBA uses a nine-state Kalman filter which estimates the position and velocity vectors and three additional states. The three additional states are used to resolve the deficiencies associated with the use of a nominal acceleration profile. The TUBA filter equations are developed under the assumption that the target is either ballistic (falling under the force of gravity) or the specific force (such as thrust acceleration) is exactly known and can therefore be compensated for. It is also assumed that the target is not subject to significant atmospheric drag, which is reasonable in view of the high altitudes at which target tracking occurs. Alternatively, it is assumed that atmospheric drag can be properly compensated for. Equations (9), (10), and (11) model the target kinematics under these assumptions

$\begin{matrix} {\underset{\_}{\overset{¨}{X}} = {{AccGravity} + {AccCentripetal} + {AccThrust} + {AccCoriolis}}} & (9) \\ {\mspace{20mu} {\underset{\_}{\overset{¨}{X}} = {\frac{{- \mu}\underset{\_}{Z}}{{\underset{\_}{Z}}^{3}} - {\underset{\_}{\omega} \times \left( {\underset{\_}{\omega} \times \underset{\_}{Z}} \right)} + {{{Tacc}}*\hat{\underset{\_}{T}}} - {2\underset{\_}{\omega} \times \underset{\_}{\overset{.}{X}}}}}} & (10) \\ {\mspace{20mu} {\underset{\_}{Z} = {\underset{\_}{X} + \underset{\_}{Re}}}} & (11) \end{matrix}$

where:

μ is the Earth gravitational constant, 3.986005*10¹⁴ m³/s²;

w is the magnitude of Earth's angular velocity, 7.29211574*10⁻⁵ rad/s;

|Tacc| is the boost acceleration magnitude; and

{circumflex over (T)} is the unit thrust vector.

The TUBA state vector is

$\begin{matrix} {\underset{\_}{s} = {\quad\begin{Bmatrix} \underset{\_}{X} \\ \underset{\_}{\overset{.}{X}} \\ K \\ {{del}\; T} \\ {{del}\; A} \end{Bmatrix}}} & (12) \end{matrix}$

where:

X and {dot over (X)} are three-dimensional position and velocity vectors, respectively;

K is a scalar factor reflecting the target rocket motor, hot (K>1.0), cold (K<1.0), or nominal (K=1.0);

delT is the error in the initial time used to look up target parameters from the nominal templates; and

delA is the error in the estimate of the target's angle of attack.

The TUBA dynamics equations (i.e. the nonlinear TUBA state derivative equations) are

$\begin{matrix} {\overset{.}{\underset{\_}{s}} = {{\frac{}{t}\underset{\_}{s}} = \begin{Bmatrix} \overset{.}{\underset{\_}{X}} \\ {\frac{{- \mu}\underset{\_}{\; Z}}{{\underset{\_}{Z}}^{3}} - {\underset{\_}{\omega} \times \left( {\underset{\_}{\omega} \times \underset{\_}{Z}} \right)} + {{{Tacc}}*\underset{\_}{\hat{T}}} - {2\underset{\_}{\omega} \times \overset{.}{\underset{\_}{X}}}} \\ 0 \\ 0 \\ 0 \end{Bmatrix}}} & (13) \end{matrix}$

and are based on the assumed target kinematics set forth above. Additionally, it is assumed that K, delT, and delA are constants.

The thrust acceleration |Tacc|, is obtained from the nominal acceleration template using template_index and K estimate as

|Tacc|=K*BoostAccLookup(template_index)  (14)

The unit thrust vector {circumflex over (T)} is calculated using the nominal angle of attack lookup, estimated position, velocity, and delA as

AoaEst=AOALookup(template_index)+delA  (15)

yL2={dot over ({circumflex over (X)}  (16)

zL2=({dot over ({circumflex over (X)}×{circumflex over (X)})× yL2  (17)

{circumflex over (T)}=yL2*cos(AoaEst)− zL2*sin(AoaEst)  (18)

where the template_index is defined by equation (7).

Referring once more to FIG. 5, the logic flows from initialization block 514 to a state propagation step 518, which is part of time update block 516. In the following description, a ̂ notation is used to denote filter estimates of the respective variables, and a superscript represents a time update. Time propagation of the TUBA state vector in block 518 of FIG. 5 is performed by numerically integrating the state derivative vector from the previous time t_(i−1) to the current time t_(i) where the subscript i refers to the filter cycle iteration

$\begin{matrix} {{\underset{\_}{\hat{s}}\left( t_{i} \right)}^{-} = {{\hat{\underset{\_}{s}}\left( t_{i - 1} \right)} + {\int_{t_{i - 1}}^{t_{i - 1} + {\Delta \; t}}{{\overset{\hat{.}}{\underset{\_}{s}}(\tau)}{\tau}}}}} & (19) \end{matrix}$

A 2^(nd) order Runge Kutta algorithm might be used for the integration process. The incremental time step, Δt, refers to either the nominal update cycle time or the incremental time step from the last cycle time to the current measurement time t_(M) (i.e. Δt=t_(m)−t_(i−1)).

From state time propagation block 518, the logic of FIG. 5 flows to a block 520. Block 520 represents calculation of the state transition matrix for the extended TUBA Kalman filter algorithm. The Jacobian matrix corresponding to the state vector and dynamics described in equations (12) and (13) is

$\begin{matrix} \begin{matrix} {J = \left\lbrack \frac{\partial\overset{.}{\underset{\_}{s}}}{\partial\underset{\_}{s}} \right\rbrack} \\ {= \begin{bmatrix} \frac{\partial\underset{\_}{\overset{.}{x}}}{\partial\underset{\_}{s}} \\ \frac{\partial\underset{\_}{\overset{¨}{x}}}{\partial\underset{\_}{s}} \\ \frac{\partial\overset{.}{K}}{\partial\underset{\_}{s}} \\ \frac{{\partial{del}}\; \overset{.}{T}}{\partial\underset{\_}{s}} \\ \frac{{\partial{del}}\; \overset{.}{A}}{\partial\underset{\_}{s}} \end{bmatrix}} \\ {= \begin{bmatrix} 0_{3 \times 3} & I_{3 \times 3} & 0 & 0 & 0 \\ \frac{\partial\underset{\_}{\overset{¨}{X}}}{\partial\underset{\_}{X}} & \frac{\partial\underset{\_}{\overset{¨}{X}}}{\partial\overset{.}{\underset{\_}{X}}} & \frac{\partial\underset{\_}{\overset{¨}{X}}}{\partial K} & \frac{\partial\underset{\_}{\overset{¨}{X}}}{{\partial{del}}\; T} & \frac{\partial\overset{¨}{\underset{\_}{X}}}{{\partial{del}}\; A} \\ \; & \; & 0_{1 \times 9} & \; & \; \\ \; & \; & 0_{1 \times 9} & \; & \; \\ \; & \; & 0_{1 \times 9} & \; & \; \end{bmatrix}} \end{matrix} & (20) \end{matrix}$

where components of the Jacobian corresponding to

$\frac{\partial\underset{\_}{\overset{¨}{x}}}{\partial\underset{\_}{s}}$

are defined below in equations 21 to 26

$\begin{matrix} {\frac{\partial\overset{¨}{\underset{\_}{X}}}{\partial\underset{\_}{X}} = {{\frac{{- \mu}\; \hat{\underset{\_}{Z}}}{{\underset{\_}{\hat{Z}}}^{3}}\left\lbrack I_{3 \times 3} \right\rbrack} - {\frac{3}{{\hat{\underset{\_}{Z}}}^{2}}{\hat{\underset{\_}{Z}} \cdot {\hat{\underset{\_}{Z}}}^{\prime}}} - {\left\lbrack \left\lbrack \hat{\underset{\_}{\omega}} \right\rbrack \right\rbrack \cdot \left\lbrack \left\lbrack \hat{\underset{\_}{\omega}} \right\rbrack \right\rbrack}}} & (21) \\ {\frac{\partial\overset{¨}{\underset{\_}{X}}}{\partial\underset{\_}{\overset{.}{X}}} = {{- 2} \cdot \left\lbrack \left\lbrack \underset{\_}{\hat{\omega}} \right\rbrack \right\rbrack}} & (22) \end{matrix}$

Note that the [[·]] notation denotes a skew symmetric matrix of the vector argument.

$\frac{\partial\overset{¨}{\underset{\_}{X}}}{\partial K}\mspace{14mu} {and}\mspace{14mu} \frac{\partial\overset{¨}{\underset{\_}{X}}}{{\partial{del}}\; T}$

are performed numerically by choosing some small value for ∂K and ∂delT. The resulting equations are

$\begin{matrix} {\frac{\partial\overset{¨}{\underset{\_}{X}}}{\partial K} = {{a\; 1} + {\hat{K}*\frac{{a\; 2} - {a\; 1}}{dk}}}} & (23) \\ {\frac{\partial\overset{¨}{\underset{\_}{X}}}{{\partial{del}}\; T} = {{- \hat{K}}*\frac{\left( {{a\; 3} - {a\; 1}} \right)}{dt}}} & (24) \end{matrix}$

where:

dk=0.001

dt=0.01

a1=BoostAccLookup(template_index)

a2=BoostAccLookup(template_index+(tInstage+dt)*dk)

a3=BoostAccLookup(template_index+dt)

The partial derivative of acceleration with respect to the error in angle of attack,

$\frac{\partial\underset{\_}{\overset{¨}{X}}}{{\partial{del}}\; A},$

is given by

$\begin{matrix} {\frac{\partial\overset{¨}{\underset{\_}{X}}}{{\partial{del}}\; A} = {\hat{K}*{{BoostAccLookup}({template\_ index})}*{\partial\underset{\_}{\hat{T}}}}} & (25) \end{matrix}$

where:

∂{circumflex over (T)}=− yL2*sin(AoaEst)− zL2*cos(AoaEst)  (26)

The partial of {circumflex over (T)} is taken with respect to angle of attack only, since variations of the thrust vector with respect to position and velocity is minimal. {circumflex over (T)}, AoaEst, yL2, and zL2 are defined in equations (18), (15), (16), and (17), respectively.

From Jacobian computation block 520 of FIG. 5 the logic flows to a block 522, representing the covariance propagation portion of the time update 516. The state transition matrix used for the time propagation of the TUBA error covariance can be approximated as

$\begin{matrix} {\Phi \approx {I + {J\; \Delta \; t} + \frac{J^{2}\Delta \; t^{2}}{2}}} & (27) \end{matrix}$

The TUBA state covariance is defined as

P=E{(s− s )(s− s )^(T)}  (28)

Where

s is the TUBA state vector

s is the expected value of the TUBA state vector

E is the expected value of {*}

P is the TUBA state covariance matrix,

with

P₁₁=state covariance matrix of X

P₂₂=state covariance matrix of {dot over (X)}

P₃₃=state covariance element for K

P₄₄=state covariance element for delT

P₅₅=state covariance element for delA

and

$\begin{matrix} {P = \begin{bmatrix} P_{11} & - & - & - & - \\  - & P_{22} & - & - & - \\  - & - & P_{33} & - & - \\  - & - & - & P_{44} & - \\  - & - & - & - & P_{55} \end{bmatrix}} & \left( {28a} \right) \end{matrix}$

Time propagation of the TUBA error covariance matrix P is performed with the equation

P(t _(i))⁻ =ΦP(t _(i−1))Φ^(T) +Q _(i)  (28b)

where:

Q is the 9×9 TUBA state noise matrix whose diagonal elements are chosen based on tuning considerations.

From covariance propagation portion or block 522 of time update 516 of FIG. 5, the logic flows to a Template Parameter Update block 524 and then by way of a path 524 o to a Staging Logic Early Thrust Termination Block 542, both described in more detail below.

The logic of FIG. 5 arrives by way of a path 542 o at a Gain Computation portion 528 of a Measurement Update block 526. The Kalman gain matrix is calculated in block 528 using the measurement matrix and the TUBA error covariance matrix

K=P(t _(i))⁻ ·H ^(T)·(H·P(t _(i))⁻ ·H ^(T) +R)⁻¹  (29)

where:

H=[I_(3×3) 0_(3×3) 0_(3×3)]

H is the measurement matrix, and R is the measurement noise covariance matrix associated with the currently reporting sensor.

The logic flows from block 528 of FIG. 5 to a State Measurement Update block 530. State Measurement Update block 530 computes the measurement residuals and updates the TUBA state vector

ŝ _(i) =ŝ _(i) ⁻ +K·(X _(m) −H·{circumflex over (X)} _(i) ⁻)  (30)

Finally, the logic of FIG. 5 reaches the Covariance Measurement Update function 532, which performs the measurement update of the state covariance matrix

P(t _(i))=(I−K·H)·P(t _(i))⁻  (31)

and the logic returns to time update block 516, with updated time T=T_(m)+Δt for the next calculation cycle, by way of a path 540.

Template Parameter Update block 524 of FIG. 5 updates the time index, template_index, used in the next filter update pass to look up the thrust acceleration and angle of attack. Template parameters tInstage and template_index are defined in equations (1) and (2), respectively, and are also described in conjunction with block 514 of FIG. 5. At each update after initialization, tInstage and template_index are updated

tInstage=tInstage+Δt  (32)

where Δt is the measurement update interval

template_index=(tInstage−del{circumflex over (T)})*{circumflex over (K)}+stageTimePast  (33)

where stagetimepast is the nominal past stage.

Note that the initial error in tInstage due to the initial guess at the value of target time after launch is removed in the calculation of template_index via the filter state del{circumflex over (T)}, and the acceleration profile variation due to motor differences is corrected by the filter state {circumflex over (K)}.

The TUBA target staging and early thrust termination logic block 542 of FIG. 5 provides timely estimates of the target's burn times and detects when early thrust termination has occurred. Block 542 is not mandatory for estimating the states of a boosting target using nominal template profiles of target (a) thrust acceleration, (b) altitude, (c) speed, and (d) angle-of-attack as a function of time after launch, updated using the states of a filter to correct for template indexing error, template boost acceleration variations, and template angle-of-attack variations. However, the Staging Logic Early Thrust Termination block 542 can improve the accuracy of the target state estimation by providing timely transition to the ballistic phase.

FIG. 8 is a simplified logic flow diagram or chart illustrating details of block 542 of FIG. 5. In FIG. 8, the logic flow arrives by way of a logic path 524 o and reaches a decision block 810, which determines if the target is thrusting or not based on the estimated time of burnout and motor scale factor K. If the target is not thrusting, there is no need to estimate the time of burnout or to determine the existence of an early thrust termination. If the target is not thrusting, the logic leaves decision block 810 by the NO output, and exits the logic of FIG. 8 by way of path 814. The logic also returns by way of a path 812 to decision block 810 to be ready for the possibility of thrusting. If decision block 810 finds that the target is thrusting, the logic leaves decision block 810 by the YES output, and arrives at a burnout (BO) estimating block 816. Burnout (BO) estimating block 816 estimates burn time for the current stage according to equation (34)

${tBOEst} = {\frac{\left( {{stageTimeCurrent} - {stageTimePast}} \right)}{\hat{K}} + {stageTimePastEst} - {offsetError} + \frac{{de}\hat{l}\; T}{\hat{K}}}$

where:

stageTimeCurrent=nominal current stage burn out time

stageTimePast=nominal past stage burn out time

stageTimePastEst=estimated value of the previous stage burn out time

{circumflex over (K)} and del{circumflex over (T)}=state estimates from the filter

offsetError=initial difference between template_index and measured time.

Staging times for subsequent stages are updated relative to the current stage time estimate.

To account for the uncertainties in the estimated burn out time, a staging window (e.g. 3 to 4 seconds) is set on either side of the estimated current stage burn out time in block 542 of FIG. 5. If the target is within the staging window, the estimated burn out time is used to determine if the target has entered the next stage or has entered the ballistic phase. When a staging event has occurred, filter estimates for {circumflex over (K)} and del{circumflex over (T)} are reset to their initial values. The target stage number is incremented, and template timing parameters are reinitialized as

{circumflex over (K)}=1

del{circumflex over (T)}=0

thisStage=thisStage+1

offsetError=stageTimeEstPast−tgtMeasTime

tInstage=tgtMeasTime−stageTimeEstPast

template_time=(tInstage−del{circumflex over (T)})*{circumflex over (K)}+stageTimePast  (35)

where:

tgtMeasTime is current system time.

When the target has exited a staging window, the filter error covariance for K and delA are reset to their initial default values by the Staging Logic portion of block 542 of FIG. 5. When the target is ballistic, the error covariance for K, delT, and delA are all reinitialized to some small value, (e.g. 0.00000001).

Liquid-propellant rocket engines control the thrust by varying the amount of propellant that enters the combustion chamber. By stopping the flow of propellants into the combustion chamber, these targets can effectively terminate their thrust prior to the nominal end of boost time. Solid-propellant rockets are not as easy to control as liquid rockets. Once started, the propellants burn until they are gone. However, some solid-fuel engines have hatches on their sides that can be cut loose by remote control to release the chamber pressure and terminate thrust. Early thrust termination poses a particularly difficult problem for tracking since it is an unknown change in acceleration applied at an unknown time. If the filter continues to assume nominal boost acceleration when in actuality the rocket has early thrust terminated, potentially huge errors would result in the estimated states which might well render invalid any fire control solution. The early thrust termination logic portion of block 542 of FIG. 5 attempts to overcome this difficulty by quickly identifying the termination. In general, at 20 seconds (or at some other selected time) prior to the estimated final burn out time, TUBA increases the K covariance values and observes for changes in K estimates. At this point, the K factor has settled to the correct value reflecting the state of the rocket motor. Therefore, a sudden and consistent change in K can only be caused by a substantial change in the target's acceleration. Such a sudden, consistent change in K indicates that the target has early thrust terminated, and gives an indication of the time of thrust termination which can be used in the overall state estimates.

More particularly, from current stage burnout estimation block 816 of FIG. 8, the logic flows to a further decision block 818. Decision block 818, in conjunction with blocks 820, 822, and 824, performs early thrust termination detection. Decision block 818 routes the logic depending on whether the current time is less or later than 20 seconds before the estimated time of burnout t_(BOEst). If the current time is more than 20 seconds before the estimated burnout time, or after the estimated burnout time, the logic leaves decision block 818 by the NO output, and leaves the logic of FIG. 5 by way of path 814. If the current time lies between a time 20 seconds before the estimated burnout time and the estimated burnout time, the logic leaves decision block 818 by the YES output, and arrives at a logic block 820. Block 820 increases or inflates the K covariance according to the initial K covariance value. The current estimate of scalar (hot/cold) motor variation factor K is shifted into a temporary store or Kestimate register with a storage time, in one embodiment, of about four seconds. Block 820 also calculates KDelta by taking the difference between the newest data point in the register and the oldest data point. Decision block 822 compares the value of KDelta with a threshold value. If the change in Kestimate is greater than a particular value, early thrust termination is deemed to have occurred. In one embodiment of the invention, the threshold value of KDelta is 0.08. If KDelta is less than 0.08, continued thrusting is assumed, and the logic leaves decision block 822 by the NO output, and leaves the logic of FIG. 8. If KDelta is greater than 0.08, thrust termination is deemed to have occurred, and the logic leaves decision block 822 by the YES output. From the YES output of decision block 822, the logic of FIG. 8 flows to a block 824, which represents the setting of a “thrusting” flag to zero. From block 824, the logic leaves the flow of FIG. 8 and returns to the flow of FIG. 5.

Thus, a method according to an aspect of the invention is for estimating staging of a boosting target, as for example of a missile. The method comprises the steps of sensing position of the boosting target, as for example from moment to moment. This may be done by means of an infrared sensor or by a radar system, or by another other suitable method. This generates target position information. From the sensed target position information, target current stage state estimates are generated. The target stage state estimates include position, velocity, time index error into the thrust template, and motor scale factor error {circumflex over (K)}. The method further comprises the step of determining estimated burnout time t_(BOEst) of the current stage by use of the equation

$t_{BOEst} = {\frac{\left( {{stageTimeCurrent} - {stageTimePast}} \right)}{\hat{K}} + {stageTimePastEst} - {offsetError} + \frac{{de}\hat{l}\; T}{\hat{K}}}$

where

stageTimeCurrent=nominal current stage burn out time;

stageTimePast=nominal past stage burn out time;

stageTimePastEst=estimated value of the previous stage burn out time;

{circumflex over (K)} and De{circumflex over (l)}T=state estimates from the filter;

offsetError=initial difference between template_index and measured time;

The estimated burnout time is used to aid in predicting the future location of the target.

According to another aspect of the invention, a method for determining early thrust termination of a boosting target comprises the step of sensing position of the boosting target, as for example from moment to moment, to thereby generate target position information. Current stage state estimates including position, velocity, time index error into the thrust template, and motor scale factor error {circumflex over (K)} are generated. The motor scale factor is used to indicate if the target has early thrust terminated. 

1. A method for estimating staging of a boosting target, said method comprising the steps of: sensing position of the boosting target from moment to moment to thereby generate target position information; generating current stage state estimates including position, velocity, time index error into the thrust template, and motor scale factor error {circumflex over (K)}; determining estimated burnout time t_(BOEst) of the current stage by $t_{BOEst} = {\frac{\left( {{stageTimeCurrent} - {stageTimePast}} \right)}{\hat{K}} + {stageTimePastEst} - {offsetError} + \frac{{de}\hat{l}\; T}{\hat{K}}}$ where stageTimeCurrent=nominal current stage burn out time; stageTimePast=nominal past stage burn out time; stageTimePastEst=estimated value of the previous stage burn out time; K and De{circumflex over (l)}T=state estimates from the filter; offsetError=initial difference between template_index and measured time; and using said estimated burnout time to predict a future location of said target.
 2. A method for determining early thrust termination of a boosting target, said method comprising the steps of: sensing position of the boosting target to thereby generate target position information; generating current stage state estimates including position, velocity, time index error into the thrust template, and motor scale factor error {circumflex over (K)}; determining if target has early thrust terminated using the motor scale factor.
 3. The method of claim 2, wherein said determining step comprises the steps of: increasing a K covariance value relative to an initial K covariance value and decreasing a time error covariance value relative to an initial time index error covariance value; shifting a current estimate of {circumflex over (K)} into a temporary storage location, finite length K estimate register, with a corresponding storage time tag; calculating KDelta by taking difference between the newest {circumflex over (K)} in the register and an oldest {circumflex over (K)} in the register; comparing the value of KDelta with a threshold value; and if the change in KDelta is greater than the threshold value, indicating that early thrust termination has occurred.
 4. The method of claim 3, wherein if the change in KDelta is less than the threshold value, continued thrusting of the boosting target is deemed to have occurred.
 5. The method of claim 3, further comprising guiding an antimissile asset toward said target using said early thrust determination.
 6. The method of claim 1, further comprising using said prediction of a future location of said target to guide an antimissile asset toward said target.
 7. The method of claim 1, wherein the sensing step is performed using a radar system.
 8. The method of claim 1, wherein the sensing step is performed using an infrared sensor.
 9. A system for estimating staging of a boosting target, said system comprising: a processor executing instructions for: sensing a position of the boosting target to generate target position information; generating current stage state estimates for said boosting target including position, velocity, time index error into a thrust template, and motor scale factor error; using said current stage state estimates for said boosting target to determine an estimated burnout time of the current stage; and using said estimated burnout time of the current stage to predict a future location of said boosting target.
 10. The system of claim 9, wherein the step of determining estimated burnout time of the current stage employs the formula: $t_{BOEst} = {\frac{\left( {{stageTimeCurrent} - {stageTimePast}} \right)}{\hat{K}} + {stageTimePastEst} - {offsetError} + \frac{{de}\hat{l}\; T}{\hat{K}}}$ where: t_(BOEst)=estimated burnout time stageTimeCurrent=nominal current stage burn out time; stageTimePast=nominal past stage burn out time; stageTimePastEst=estimated value of the previous stage burn out time; K and De{circumflex over (l)}T=state estimates from the filter; offsetError=initial difference between template_index and measured Time.
 11. A system for determining early thrust termination of a boosting target, said system comprising: a processor executing instructions for: sensing a position of the boosting target to generate target position information; generating current stage state estimates for said boosting target including position, velocity, time index error into the thrust template, and motor scale factor error; and determining if the boosting target has an early thrust terminated using the motor scale factor.
 12. The system of claim 11, wherein said determining step comprises the steps of: increasing a covariance value of the motor scale factor error relative to an initial covariance value of the motor scale factor error and decreasing a time error covariance value relative to an initial time index error covariance value; shifting a current estimate of the motor scale factor error into a temporary storage register, with a corresponding storage time tag; calculating a difference between a newest motor scale factor error in the register and an oldest motor scale factor error in the register; comparing the difference with a threshold value; and using the difference to determine if early thrust termination has occurred for the boosting target.
 13. The system of claim 12, wherein if the difference is greater than a threshold value, early thrust termination is deemed to have occurred.
 14. The system of claim 12, wherein if the difference is less than a threshold value, continued thrusting of the boosting target is deemed to have occurred.
 15. The system of claim 9, wherein the sensing step is performed using a radar system or an infrared sensor.
 16. The system of claim 11, wherein the sensing step is performed using a radar system or an infrared sensor.
 17. The method of claim 9, further comprising using said prediction of a future location of said target to guide an antimissile asset toward said target.
 18. The method of claim 11, further comprising guiding an antimissile asset toward said target using said early thrust determination. 